package com.jy.api.misc.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author Alen
 * @date 2024/8/7 16:10
 * @since 2024/8/7 16:10
 */
public class ShuJuYuanDto {
    @JSONField(
            serializeUsing = ToStringSerializer.class
    )
    private Long id;
    @ApiModelProperty("数据元标识符")
    private @NotBlank(
            message = "业务标识符不能为空"
    ) String biaoShiFu;
    @ApiModelProperty("数据元名称")
    private @NotBlank(
            message = "名称不能为空"
    ) String name;
    @ApiModelProperty("定义")
    private String dingYi;
    @ApiModelProperty("数据类型")
    private @NotBlank(
            message = "数据类型不能为空"
    ) String shuJuLX;
    @ApiModelProperty("表示格式")
    private @NotBlank(
            message = "表示格式不能为空"
    ) String geShi;
    @ApiModelProperty("取值范围(值域)名称")
    private String quZhiFWMC;
    @ApiModelProperty("取值范围表(值域)的  标识符")
    private String quZhiFWID;
    @ApiModelProperty("来源文件ID")
    private String laiYuanWJID;
    @ApiModelProperty("来源文件的名称")
    private String laiYuanWJMC;
    @ApiModelProperty("状态。1：草稿，2：使用，3：作废")
    private @NotNull(
            message = "状态不能为空"
    ) Integer status;
    @ApiModelProperty("版本")
    private String banBen;
    @ApiModelProperty("注册机构")
    private String zhuCeJG;
    @ApiModelProperty("相关环境")
    private String xiangGuanHJ;
    @ApiModelProperty("分类模式")
    private String fenLeiMS;
    @ApiModelProperty("主管机构")
    private String zhuGuanJG;
    @ApiModelProperty("注册状态")
    private String zhuCeZT;
    @ApiModelProperty("提交机构")
    private String tiJiaoJG;
    @ApiModelProperty("创建时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date chuangJianSJ;
    @ApiModelProperty("创建人")
    private @NotBlank(
            message = "创建人不能为空"
    ) String chuangJianRen;
    private @NotBlank(
            message = "创建人ID不能为空"
    ) String chuangJianRId;
    @ApiModelProperty("修改时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date xiuGaiSJ;

    public ShuJuYuanDto() {
    }

    public Long getId() {
        return this.id;
    }

    public String getBiaoShiFu() {
        return this.biaoShiFu;
    }

    public String getName() {
        return this.name;
    }

    public String getDingYi() {
        return this.dingYi;
    }

    public String getShuJuLX() {
        return this.shuJuLX;
    }

    public String getGeShi() {
        return this.geShi;
    }

    public String getQuZhiFWMC() {
        return this.quZhiFWMC;
    }

    public String getQuZhiFWID() {
        return this.quZhiFWID;
    }

    public String getLaiYuanWJID() {
        return this.laiYuanWJID;
    }

    public String getLaiYuanWJMC() {
        return this.laiYuanWJMC;
    }

    public Integer getStatus() {
        return this.status;
    }

    public String getBanBen() {
        return this.banBen;
    }

    public String getZhuCeJG() {
        return this.zhuCeJG;
    }

    public String getXiangGuanHJ() {
        return this.xiangGuanHJ;
    }

    public String getFenLeiMS() {
        return this.fenLeiMS;
    }

    public String getZhuGuanJG() {
        return this.zhuGuanJG;
    }

    public String getZhuCeZT() {
        return this.zhuCeZT;
    }

    public String getTiJiaoJG() {
        return this.tiJiaoJG;
    }

    public Date getChuangJianSJ() {
        return this.chuangJianSJ;
    }

    public String getChuangJianRen() {
        return this.chuangJianRen;
    }

    public String getChuangJianRId() {
        return this.chuangJianRId;
    }

    public Date getXiuGaiSJ() {
        return this.xiuGaiSJ;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setBiaoShiFu(String biaoShiFu) {
        this.biaoShiFu = biaoShiFu;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setDingYi(String dingYi) {
        this.dingYi = dingYi;
    }

    public void setShuJuLX(String shuJuLX) {
        this.shuJuLX = shuJuLX;
    }

    public void setGeShi(String geShi) {
        this.geShi = geShi;
    }

    public void setQuZhiFWMC(String quZhiFWMC) {
        this.quZhiFWMC = quZhiFWMC;
    }

    public void setQuZhiFWID(String quZhiFWID) {
        this.quZhiFWID = quZhiFWID;
    }

    public void setLaiYuanWJID(String laiYuanWJID) {
        this.laiYuanWJID = laiYuanWJID;
    }

    public void setLaiYuanWJMC(String laiYuanWJMC) {
        this.laiYuanWJMC = laiYuanWJMC;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public void setBanBen(String banBen) {
        this.banBen = banBen;
    }

    public void setZhuCeJG(String zhuCeJG) {
        this.zhuCeJG = zhuCeJG;
    }

    public void setXiangGuanHJ(String xiangGuanHJ) {
        this.xiangGuanHJ = xiangGuanHJ;
    }

    public void setFenLeiMS(String fenLeiMS) {
        this.fenLeiMS = fenLeiMS;
    }

    public void setZhuGuanJG(String zhuGuanJG) {
        this.zhuGuanJG = zhuGuanJG;
    }

    public void setZhuCeZT(String zhuCeZT) {
        this.zhuCeZT = zhuCeZT;
    }

    public void setTiJiaoJG(String tiJiaoJG) {
        this.tiJiaoJG = tiJiaoJG;
    }

    public void setChuangJianSJ(Date chuangJianSJ) {
        this.chuangJianSJ = chuangJianSJ;
    }

    public void setChuangJianRen(String chuangJianRen) {
        this.chuangJianRen = chuangJianRen;
    }

    public void setChuangJianRId(String chuangJianRId) {
        this.chuangJianRId = chuangJianRId;
    }

    public void setXiuGaiSJ(Date xiuGaiSJ) {
        this.xiuGaiSJ = xiuGaiSJ;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof ShuJuYuanDto)) {
            return false;
        } else {
            ShuJuYuanDto other = (ShuJuYuanDto)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                Object this$id = this.getId();
                Object other$id = other.getId();
                if (this$id == null) {
                    if (other$id != null) {
                        return false;
                    }
                } else if (!this$id.equals(other$id)) {
                    return false;
                }

                Object this$biaoShiFu = this.getBiaoShiFu();
                Object other$biaoShiFu = other.getBiaoShiFu();
                if (this$biaoShiFu == null) {
                    if (other$biaoShiFu != null) {
                        return false;
                    }
                } else if (!this$biaoShiFu.equals(other$biaoShiFu)) {
                    return false;
                }

                Object this$name = this.getName();
                Object other$name = other.getName();
                if (this$name == null) {
                    if (other$name != null) {
                        return false;
                    }
                } else if (!this$name.equals(other$name)) {
                    return false;
                }

                label254: {
                    Object this$dingYi = this.getDingYi();
                    Object other$dingYi = other.getDingYi();
                    if (this$dingYi == null) {
                        if (other$dingYi == null) {
                            break label254;
                        }
                    } else if (this$dingYi.equals(other$dingYi)) {
                        break label254;
                    }

                    return false;
                }

                label247: {
                    Object this$shuJuLX = this.getShuJuLX();
                    Object other$shuJuLX = other.getShuJuLX();
                    if (this$shuJuLX == null) {
                        if (other$shuJuLX == null) {
                            break label247;
                        }
                    } else if (this$shuJuLX.equals(other$shuJuLX)) {
                        break label247;
                    }

                    return false;
                }

                Object this$geShi = this.getGeShi();
                Object other$geShi = other.getGeShi();
                if (this$geShi == null) {
                    if (other$geShi != null) {
                        return false;
                    }
                } else if (!this$geShi.equals(other$geShi)) {
                    return false;
                }

                label233: {
                    Object this$quZhiFWMC = this.getQuZhiFWMC();
                    Object other$quZhiFWMC = other.getQuZhiFWMC();
                    if (this$quZhiFWMC == null) {
                        if (other$quZhiFWMC == null) {
                            break label233;
                        }
                    } else if (this$quZhiFWMC.equals(other$quZhiFWMC)) {
                        break label233;
                    }

                    return false;
                }

                label226: {
                    Object this$quZhiFWID = this.getQuZhiFWID();
                    Object other$quZhiFWID = other.getQuZhiFWID();
                    if (this$quZhiFWID == null) {
                        if (other$quZhiFWID == null) {
                            break label226;
                        }
                    } else if (this$quZhiFWID.equals(other$quZhiFWID)) {
                        break label226;
                    }

                    return false;
                }

                Object this$laiYuanWJID = this.getLaiYuanWJID();
                Object other$laiYuanWJID = other.getLaiYuanWJID();
                if (this$laiYuanWJID == null) {
                    if (other$laiYuanWJID != null) {
                        return false;
                    }
                } else if (!this$laiYuanWJID.equals(other$laiYuanWJID)) {
                    return false;
                }

                Object this$laiYuanWJMC = this.getLaiYuanWJMC();
                Object other$laiYuanWJMC = other.getLaiYuanWJMC();
                if (this$laiYuanWJMC == null) {
                    if (other$laiYuanWJMC != null) {
                        return false;
                    }
                } else if (!this$laiYuanWJMC.equals(other$laiYuanWJMC)) {
                    return false;
                }

                label205: {
                    Object this$status = this.getStatus();
                    Object other$status = other.getStatus();
                    if (this$status == null) {
                        if (other$status == null) {
                            break label205;
                        }
                    } else if (this$status.equals(other$status)) {
                        break label205;
                    }

                    return false;
                }

                label198: {
                    Object this$banBen = this.getBanBen();
                    Object other$banBen = other.getBanBen();
                    if (this$banBen == null) {
                        if (other$banBen == null) {
                            break label198;
                        }
                    } else if (this$banBen.equals(other$banBen)) {
                        break label198;
                    }

                    return false;
                }

                Object this$zhuCeJG = this.getZhuCeJG();
                Object other$zhuCeJG = other.getZhuCeJG();
                if (this$zhuCeJG == null) {
                    if (other$zhuCeJG != null) {
                        return false;
                    }
                } else if (!this$zhuCeJG.equals(other$zhuCeJG)) {
                    return false;
                }

                label184: {
                    Object this$xiangGuanHJ = this.getXiangGuanHJ();
                    Object other$xiangGuanHJ = other.getXiangGuanHJ();
                    if (this$xiangGuanHJ == null) {
                        if (other$xiangGuanHJ == null) {
                            break label184;
                        }
                    } else if (this$xiangGuanHJ.equals(other$xiangGuanHJ)) {
                        break label184;
                    }

                    return false;
                }

                Object this$fenLeiMS = this.getFenLeiMS();
                Object other$fenLeiMS = other.getFenLeiMS();
                if (this$fenLeiMS == null) {
                    if (other$fenLeiMS != null) {
                        return false;
                    }
                } else if (!this$fenLeiMS.equals(other$fenLeiMS)) {
                    return false;
                }

                label170: {
                    Object this$zhuGuanJG = this.getZhuGuanJG();
                    Object other$zhuGuanJG = other.getZhuGuanJG();
                    if (this$zhuGuanJG == null) {
                        if (other$zhuGuanJG == null) {
                            break label170;
                        }
                    } else if (this$zhuGuanJG.equals(other$zhuGuanJG)) {
                        break label170;
                    }

                    return false;
                }

                Object this$zhuCeZT = this.getZhuCeZT();
                Object other$zhuCeZT = other.getZhuCeZT();
                if (this$zhuCeZT == null) {
                    if (other$zhuCeZT != null) {
                        return false;
                    }
                } else if (!this$zhuCeZT.equals(other$zhuCeZT)) {
                    return false;
                }

                Object this$tiJiaoJG = this.getTiJiaoJG();
                Object other$tiJiaoJG = other.getTiJiaoJG();
                if (this$tiJiaoJG == null) {
                    if (other$tiJiaoJG != null) {
                        return false;
                    }
                } else if (!this$tiJiaoJG.equals(other$tiJiaoJG)) {
                    return false;
                }

                Object this$chuangJianSJ = this.getChuangJianSJ();
                Object other$chuangJianSJ = other.getChuangJianSJ();
                if (this$chuangJianSJ == null) {
                    if (other$chuangJianSJ != null) {
                        return false;
                    }
                } else if (!this$chuangJianSJ.equals(other$chuangJianSJ)) {
                    return false;
                }

                label142: {
                    Object this$chuangJianRen = this.getChuangJianRen();
                    Object other$chuangJianRen = other.getChuangJianRen();
                    if (this$chuangJianRen == null) {
                        if (other$chuangJianRen == null) {
                            break label142;
                        }
                    } else if (this$chuangJianRen.equals(other$chuangJianRen)) {
                        break label142;
                    }

                    return false;
                }

                label135: {
                    Object this$chuangJianRId = this.getChuangJianRId();
                    Object other$chuangJianRId = other.getChuangJianRId();
                    if (this$chuangJianRId == null) {
                        if (other$chuangJianRId == null) {
                            break label135;
                        }
                    } else if (this$chuangJianRId.equals(other$chuangJianRId)) {
                        break label135;
                    }

                    return false;
                }

                Object this$xiuGaiSJ = this.getXiuGaiSJ();
                Object other$xiuGaiSJ = other.getXiuGaiSJ();
                if (this$xiuGaiSJ == null) {
                    if (other$xiuGaiSJ != null) {
                        return false;
                    }
                } else if (!this$xiuGaiSJ.equals(other$xiuGaiSJ)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof ShuJuYuanDto;
    }

    public int hashCode() {
        boolean PRIME = true;
        int result = 1;
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $biaoShiFu = this.getBiaoShiFu();
        result = result * 59 + ($biaoShiFu == null ? 43 : $biaoShiFu.hashCode());
        Object $name = this.getName();
        result = result * 59 + ($name == null ? 43 : $name.hashCode());
        Object $dingYi = this.getDingYi();
        result = result * 59 + ($dingYi == null ? 43 : $dingYi.hashCode());
        Object $shuJuLX = this.getShuJuLX();
        result = result * 59 + ($shuJuLX == null ? 43 : $shuJuLX.hashCode());
        Object $geShi = this.getGeShi();
        result = result * 59 + ($geShi == null ? 43 : $geShi.hashCode());
        Object $quZhiFWMC = this.getQuZhiFWMC();
        result = result * 59 + ($quZhiFWMC == null ? 43 : $quZhiFWMC.hashCode());
        Object $quZhiFWID = this.getQuZhiFWID();
        result = result * 59 + ($quZhiFWID == null ? 43 : $quZhiFWID.hashCode());
        Object $laiYuanWJID = this.getLaiYuanWJID();
        result = result * 59 + ($laiYuanWJID == null ? 43 : $laiYuanWJID.hashCode());
        Object $laiYuanWJMC = this.getLaiYuanWJMC();
        result = result * 59 + ($laiYuanWJMC == null ? 43 : $laiYuanWJMC.hashCode());
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $banBen = this.getBanBen();
        result = result * 59 + ($banBen == null ? 43 : $banBen.hashCode());
        Object $zhuCeJG = this.getZhuCeJG();
        result = result * 59 + ($zhuCeJG == null ? 43 : $zhuCeJG.hashCode());
        Object $xiangGuanHJ = this.getXiangGuanHJ();
        result = result * 59 + ($xiangGuanHJ == null ? 43 : $xiangGuanHJ.hashCode());
        Object $fenLeiMS = this.getFenLeiMS();
        result = result * 59 + ($fenLeiMS == null ? 43 : $fenLeiMS.hashCode());
        Object $zhuGuanJG = this.getZhuGuanJG();
        result = result * 59 + ($zhuGuanJG == null ? 43 : $zhuGuanJG.hashCode());
        Object $zhuCeZT = this.getZhuCeZT();
        result = result * 59 + ($zhuCeZT == null ? 43 : $zhuCeZT.hashCode());
        Object $tiJiaoJG = this.getTiJiaoJG();
        result = result * 59 + ($tiJiaoJG == null ? 43 : $tiJiaoJG.hashCode());
        Object $chuangJianSJ = this.getChuangJianSJ();
        result = result * 59 + ($chuangJianSJ == null ? 43 : $chuangJianSJ.hashCode());
        Object $chuangJianRen = this.getChuangJianRen();
        result = result * 59 + ($chuangJianRen == null ? 43 : $chuangJianRen.hashCode());
        Object $chuangJianRId = this.getChuangJianRId();
        result = result * 59 + ($chuangJianRId == null ? 43 : $chuangJianRId.hashCode());
        Object $xiuGaiSJ = this.getXiuGaiSJ();
        result = result * 59 + ($xiuGaiSJ == null ? 43 : $xiuGaiSJ.hashCode());
        return result;
    }

    public String toString() {
        return "ShuJuYuanDto(id=" + this.getId() + ", biaoShiFu=" + this.getBiaoShiFu() + ", name=" + this.getName() + ", dingYi=" + this.getDingYi() + ", shuJuLX=" + this.getShuJuLX() + ", geShi=" + this.getGeShi() + ", quZhiFWMC=" + this.getQuZhiFWMC() + ", quZhiFWID=" + this.getQuZhiFWID() + ", laiYuanWJID=" + this.getLaiYuanWJID() + ", laiYuanWJMC=" + this.getLaiYuanWJMC() + ", status=" + this.getStatus() + ", banBen=" + this.getBanBen() + ", zhuCeJG=" + this.getZhuCeJG() + ", xiangGuanHJ=" + this.getXiangGuanHJ() + ", fenLeiMS=" + this.getFenLeiMS() + ", zhuGuanJG=" + this.getZhuGuanJG() + ", zhuCeZT=" + this.getZhuCeZT() + ", tiJiaoJG=" + this.getTiJiaoJG() + ", chuangJianSJ=" + this.getChuangJianSJ() + ", chuangJianRen=" + this.getChuangJianRen() + ", chuangJianRId=" + this.getChuangJianRId() + ", xiuGaiSJ=" + this.getXiuGaiSJ() + ")";
    }
}
